package com.iwhalecloud.citybrain.flow.platform.manager.common.client;

import lombok.Data;

import java.util.ArrayList;
import java.util.List;
import java.util.Set;

@Data
public class HttpProcessInstanceQueryDto{
    /**
     * 查询名称
     */
    private String searchName;

    /**
     * 查询编码
     */
    private String searchKey;

    /**
     * 查询时间范围开始
     */
    private String timeStart;

    /**
     * 查询时间范围结束
     */
    private String timeEnd;


    private List<String> applyUserNames = new ArrayList<>();

    private String status;

    private String linkStatus;

    private Integer version;

    /**
     * 模型名称
     */
    private String modelName;

    /**
     * 模型编码
     */
    private List<String> modelKeys;

    /**
     * 排序字段
     */
    private String sortField;

    /**
     * 升序或者降序：asc, desc
     */
    private String direction;

    /**
     * 流程实例ids
     */
    private Set<String> processInstanceIds;

    /**
     * 流程定义ids
     */
    private Set<String> processDefinitionIds;

    /**
     * 查询结束时间范围开始 (用于实例监控高级筛选)
     */
    private String endTimeStart;

    /**
     * 查询结束时间范围结束(用于实例监控高级筛选)
     */
    private String endTimeEnd;

    /**
     * 查询当前节点操作人(支持选择多个操作人用于实例监控高级筛选)
     */
    private List<String> operatorUserNames = new ArrayList<>();
    /**
     * 当前节点名称
     */
    private String currentNodeName;
    /**
     * 当前节点编码
     */
    private String currentNodeCode;
    /**
     * 流程实例id（支持英文逗号分隔多个）
     */
    private String processInstanceIdStr;

    /**
     * 当前第几页
     */
    private Integer pageNum = 1;

    /**
     * 每页的条数
     */
    private Integer pageSize = 10;

    public Integer getPageNum() {
        return pageNum;
    }

    public void setPageNum(Integer pageNum) {
        this.pageNum = pageNum;
    }

    public Integer getPageSize() {
        return pageSize;
    }

    public void setPageSize(Integer pageSize) {
        this.pageSize = pageSize;
    }
}

